JO
tfs 0.3

Underwater Walking e outfit de mergulho

Por Josegvb, 14 de jun. de 2016 em Scripts

agua
mergulho
outfit
addon
andável
57
17.8k
17 de agosto de 2016 às 22:57

 

2 horas atrás, zipter98 disse:

O que tem de mais no teleporte? Basta escrever o código em step in e step out, mesma coisa na situação da neve.

O jeito seria adicionar uma verificaçao no teleport, e se tiver a storage de mergulho, remove ela e seta as condições normais de speed e outfit. Mas pra isso teria q armazenar o outfit e a speed em variaveis globais, estou errado? Deve ter um jeito mais elegante de fazer isso.

zipter98Z
17 de agosto de 2016 às 23:24

Quando você pisa no tile, o step in é executado. Quando você sai dele, independente de como, o step out é executado. Logo, mesmo dando teleporte em cima do tile do moveevent o step out será executado.

nociamN
18 de agosto de 2016 às 08:40
9 horas atrás, Josegvb disse:

 

 

pq tipo, se vc ta la dentro da agua, vc da tp"saffron, ai vc leva tp pro saffron sem ter pissado no sqm do step out, desse jeito leva tp pra sqms q provavelmente nao ira ter a açao do step out e ai fica com a velocidade da agua

na pokexgame isso tb acontece vc tem que mudar de outfit pra voltar ao normal.

zipter98Z
18 de agosto de 2016 às 20:46

Também dá pra explorar algumas coisas usando o creatureevent onOutfit(cid, old, current).

PS: Para aqueles não familiarizados com este callback, ele é executado quando uma criatura muda de outfit.

18 de agosto de 2016 às 20:54
5 minutos atrás, zipter98 disse:

Também dá pra explorar algumas coisas usando o creatureevent onOutfit(cid, old, current).

PS: Para aqueles não familiarizados com este callback, ele é executado quando uma criatura muda de outfit.

I have a question.

O step in/step out constante caso haja muitos players no servidor, nao pode causar algum lag?

22 de agosto de 2016 às 16:46

Cara, eu tentei fazer com o type water do pokémon, mas por algum motivo não estava dando, nem me lembro o erro que ocorria.

Então eu fiz desse jeito tosco de array, mas funciona.

Eu fiz para um servidor ai há pouco tempo atrás, espero que funcione para você também.

 

Se você der TP, a roupa sai e a velocidade volta ao normal.

Os pokémon que estão na tabela não tomam slow da água.

 

local condition = createConditionObject(CONDITION_DROWN)setConditionParam(condition, CONDITION_PARAM_PERIODICDAMAGE, 0)setConditionParam(condition, CONDITION_PARAM_TICKS, -1)setConditionParam(condition, CONDITION_PARAM_TICKINTERVAL, 2000)local pokesWater = {"Squirtle", "Wartortle", "Blastoise", "Staryu", "Starmie", "Phione", "Manaphy", "Magikarp", "Gyarados", "Horsea", "Seadra", "Kingdra", "Tentacool", "Tentacruel","Goldeen", "Seaking", "Horsea", "Dewgong", "Cloyster", "Seel", "Shellder", "Krabby", "Kingler", "Lapras", "Wailord", "Milotic", "Corsola", "Psyduck", "Golduck", "Chinchou", "Lanturn","Poliwag", "Poliwhirl", "Politoed", "Poliwrath", "Slowpoke", "Slowbro", "Shiny Cloyster", "Piplup", "Prinplup", "Empoleon", "Mudkip", "Marshtomp", "Swampert", "Totodile", "Crocodile","Feraligatr", "Shiny Feraligatr", "Shiny Blastoise", "Shiny Empoleon", "Giant Magikarp", "Shiny Giant Magikarp", "Vaporeon", "Shiny Vaporeon", "Omanyte", "Shiny Omanyte", "Omastar","Shiny Omastar", "Kabuto", "Kabutops", "Shiny Kabutops", "Mantine", "Shiny Mantine", "Shiny Politoed", "Shiny Corsola", "Qwilfish", "Shiny Qwilfish", "Shiny Wartortle", "Shiny Squirtle", "Lotad", "Lombre", "Ludicolo", "Crawdaunt", "Marill", "Azumarill", "Wooper", "Quagsire", "Slowking", "Remoraid", "Octillery","Shiny Krabby", "Shiny Kingler", "Shiny Horsea", "Shiny Seadra", "Shiny Kingdra", "Shiny Tentacool", "Shiny Tentacruel", "Shiny Magikarp", "Shiny Gyarados", "Shiny Slowking","Shiny Wailord", "Shiny Milotic", "Shiny Lapras", "Shiny Golduck", "Shiny Psyduck", "Shiny Starmie", "Shiny Lanturn","Mega Blastoise", "Mega Gyarados", "Mega Slowking", "Mega Swampert"}function onStepIn(cid, item, position, fromPosition)	if isPlayer(cid) then		if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue (cid, 17001) >= 1 then		   doPlayerSendCancel(cid, "A roupa apropriada para este solo não pode ser equipada enquanto você estiver montado em seu pokémon.")		return true		end		if getPlayerStorageValue (cid, 5700) >= 1 then			doPlayerSendCancel (cid, "A roupa apropriada para este solo não pode ser equipada enquanto você estiver montado em sua bike.")		return true		end		local newtype = getPlayerSex(cid) == 0 and 1034 or 1035		doChangeSpeed(cid, -getCreatureSpeed(cid))		doChangeSpeed(cid, 1500)		doSetCreatureOutfit (cid, {lookType = newtype}, -1)		doAddCondition(cid, condition)	elseif isInArray (pokesWater, getCreatureName (cid)) then		doChangeSpeed(cid, -getCreatureSpeed(cid))		doChangeSpeed(cid, getCreatureSpeed(cid) + 700)	endreturn trueendfunction onStepOut(cid, item, position, fromPosition)	if isPlayer(cid) then		if getPlayerStorageValue(cid, 17000) >= 1 or getPlayerStorageValue (cid, 17001) >= 1 then return true end		if getPlayerStorageValue (cid, 5700) >= 1 then return true end				doRemoveCondition(cid, CONDITION_OUTFIT)		doRemoveCondition(cid, CONDITION_DROWN)		doRegainSpeed (cid)	else		doRegainSpeed (cid)	endreturn trueend

 

XML:

<movevent type="StepIn" itemid="5405-5450" event="script" value="drown.lua"/><movevent type="StepOut" itemid="5405-5450" event="script" value="drown.lua"/>

 

Editado Agosto 22 por Bodak Reborn

JosegvbJ
23 de agosto de 2016 às 09:52

@Bodak Reborn

 

de boa ta funfando sim! agr só falta umas pequenas modificaçoes q acho sao facil e eu nao tendo conhecimento em scripting posso fazer tb seria colocar um if storage, que seria pra q o script funfase só se o cara tiver x storage (a storage q ganha o outfit)

agora outra duvida, os pokemons se mexem de um jeito "saltinhos" pulando kk nao há forma de deixar eles + naturais?

31ee103e22d2137c047c9f401cb2ebae.gif

Editado Agosto 23 por Josegvb

23 de agosto de 2016 às 15:57

@Josegvb, aqui os pokémon andam normalmente.

Pode ser a velocidade deles, mude-a aqui:

doChangeSpeed(cid, getCreatureSpeed(cid) + 700)

 

Não consegui inserir o gif aqui, dá uma olhada ai:

https://giphy.com/gifs/l0MYICzYa423YqHSM

Editado Agosto 23 por Bodak Reborn

23 de agosto de 2016 às 16:21
24 minutos atrás, Bodak Reborn disse:

@Josegvb, aqui os pokémon andam normalmente.

Pode ser a velocidade deles, mude-a aqui:

doChangeSpeed(cid, getCreatureSpeed(cid) + 700)

 

Não consegui inserir o gif aqui, dá uma olhada ai:

https://giphy.com/gifs/l0MYICzYa423YqHSM

Cara, tenho uma duvida.

Eu pensei em fazer isso aí, mas tipo, tanto step in e step out não dariam lag caso tivesse mt gente fazendo isso não? ;-;

 

Tem uns fixes, na vdd frescuras, que dá pra fazer tmb, por exemplo nessas linhas:

doChangeSpeed(cid, -getCreatureSpeed(cid))
		doChangeSpeed(cid, getCreatureSpeed(cid) + 700)

A speed de todos Pokémons aquáticos vão ficar iguais embaixo d'água. Na minha opinião ficaria meio escroto ehaueaeha. 

 

Ficaria mais "bonito" se pegasse a speed base do Pokémon e somasse com um valor padrão, como 400 ou 300. Aí pelo menos vai haver diferença de speed entre uma Dewgong, por exemplo, e um fodendo Kingdra.

 

Ou botar tres tables, na lib msm, uma pra cada evolução (primeira, segunda e terceira), aí tu vai adicionando, ex.: squirtle na primeira table, wartortle na segunde e assim vai.

Dá pra fazer vários bang louco com isso, inclusive nesse script setar a speed do Pokémon embaixo d'água por estágio evolutivo ;p

Editado Agosto 23 por Gabriel Netto

JosegvbJ
23 de agosto de 2016 às 16:29
36 minutos atrás, Bodak Reborn disse:

@Josegvb, aqui os pokémon andam normalmente.

Pode ser a velocidade deles, mude-a aqui:

doChangeSpeed(cid, getCreatureSpeed(cid) + 700)

https://giphy.com/gifs/l2SpLAyvcmbfN5QCQ

 

estranho, poderia me falar a velocidade entao dos teus pokemons? 

o meu esta assim:

<monster name="Gyarados" nameDescription="a gyarados" race="water" experience="1100" speed="247" manacost="0">

 

tentei aumentar mas ficou igual só "dando saltinhos" mais rapidos

        doChangeSpeed(cid, getCreatureSpeed(cid) + 3000)

c98bbbc564937c520ed4297d04c92142.gif

 

e se eu abaixar a speed fica dando saltinhos + lerdos

    doChangeSpeed(cid, getCreatureSpeed(cid) + 350)

 6f2d25b0a07dde330f34b9b0e013b26e.gif

 

estou tentando outros valores porem td fica a msm coisa, se fez alguma modificaçao no item, dat e spr no chao ou algo do tipo?

 

@Gabriel Netto se tiver como deixar o script + lindo faça aeuaeuae :( 

Editado Agosto 23 por Josegvb

23 de agosto de 2016 às 16:36
7 minutos atrás, Josegvb disse:

 

estranho, poderia me falar a velocidade entao dos teus pokemons? 

o meu esta assim:

<monster name="Gyarados" nameDescription="a gyarados" race="water" experience="1100" speed="247" manacost="0">

 

tentei aumentar mas ficou igual só "dando saltinhos" mais rapidos

        doChangeSpeed(cid, getCreatureSpeed(cid) + 3000)

c98bbbc564937c520ed4297d04c92142.gif

 

e se eu abaixar a speed fica dando saltinhos + lerdos

    doChangeSpeed(cid, getCreatureSpeed(cid) + 350)

 6f2d25b0a07dde330f34b9b0e013b26e.gif

 

estou tentando outros valores porem td fica a msm coisa, se fez alguma modificaçao no item, dat e spr no chao ou algo do tipo?

 

Qual base tu tá usando, e qual cliente?

Acho q isso aí é um problema no client... acontecia antes de por o script? Acontece em outros locais, como na neve? o.O 

 

@Josegvb, vou sair agr, de noite eu boto o script alterado aq, se o amg ali ainda não tiver posto

Editado Agosto 23 por Gabriel Netto

JosegvbJ
23 de agosto de 2016 às 16:38
3 horas atrás, Gabriel Netto disse:

 

Qual base tu tá usando, e qual cliente?

Acho q isso aí é um problema no client... acontecia antes de por o script? Acontece em outros locais, como na neve? o.O 

 

base DxP

https://i.gyazo.com/d27608d8804b3139b9d9fdf9f6d0fd51.gif

entao gente, fiz o script pra funfar na neve e aconteceu uma coisa

antes do script:

d27608d8804b3139b9d9fdf9f6d0fd51.gif

 

dps do script

76cd0690ce1bc9ad831b3cacb351ce54.gif

 

ele os bixos ficaram igualzinhos q os bixos da agua "saltinhos"

entao ctz é alguma coisa no script q faz eles ficar assim =x

Editado Agosto 23 por Josegvb

23 de agosto de 2016 às 22:00

@Gabriel Netto eu acabei de ver a burrada dessas duas linhas -.-

doChangeSpeed(cid, -getCreatureSpeed(cid))
doChangeSpeed(cid, getCreatureSpeed(cid) + 700)

Não percebi que eu tava somando 0 + 700.. lol

Eu fiz assim pra não ficar escroto, como o teu exemplo de Dewgong e um fodendo Kingdra. Porém aparentemente eu não utilizei meu cérebro.

Realmente, teria que fazer uma tabela na lib com a velocidade dos pokémon.

Sobre o lag, eu realmente não sei. O servidor para qual eu fiz esse script é sempre lagado mesmo, então não tem como eu saber. Nem pensei nisso na verdade...

 

@Josegvb

A velocidade está igual o meu, não sei o que pode estar causando o bug.

Tenta remover essas linhas:

else
		doRegainSpeed (cid)

do StepOut e vê no que dá. É a única coisa que passa pela minha cabeça...

JosegvbJ
23 de agosto de 2016 às 22:28

@Bodak Reborn

 

removi, porem ta a msm coisa :/

certeza é o script pois na neve se eu desativar ele ou simplemente colocar

    if(not isPlayer(cid)) then
        return true
    end

 

os bixos ficam com velocidade normal

e se mexendo normal mas se eu tirar isso os bixos ficam se movendo "gelados"

nociamN
23 de agosto de 2016 às 22:33

vou ajudar nessa Pda, a roupa deveria ser ao entragar tal item ao npc vc ganha a storage e tem elas no comando do clique outif.

 

script pra usar na neve e so ajeitar do jeito de vcs.

Spoiler
function onStepIn(cid, item, position, fromPosition)
 -- se tiver em ride fly vai setar a speed pra zero
  if getPlayerStorageValue(cid, 17000) == 1 or getPlayerStorageValue(cid, 17001) == 1 or getPlayerStorageValue(cid, 17001) == 1 or getPlayerStorageValue(cid, 17000) == 1 then
    doChangeSpeed(cid, 0)
  end
 if(isPlayer(cid)) then -- aqui verifica se o player estiver com a roupa surf a velocidade aumenta se nao seta 50
          if getCreatureOutfit(cid).lookType == 558 or getCreatureOutfit(cid).lookType == 557 then --- outfit das roupas de neve
            doChangeSpeed(cid, 600)
          else
            doChangeSpeed(cid, 50)
          end
  end
    if ehMonstro(cid) or isSummon(cid) then -- aqui se for pokemon selvagen ou um summon e for do tipo tal seta speed 1000 se nao seta 50
       poketype1 = nometabela[getCreatureName(cid)].type   --  nometabela e aonde fica a parte aonde diz que tipo o pokemon e  
       poketype2 = nometabela[getCreatureName(cid)].type2
            if poketype1 == "ice" or poketype2 == "ice" or poketype1 == "dragon" or poketype2 == "dragon"  then  
           doChangeSpeed(cid, 1000)
            else
              doChangeSpeed(cid, 50)
            end
       end
return true
end
function onStepOut(cid, item, position, fromPosition)
  doRegainSpeed(cid)
return true
end

 

Editado Agosto 23 por nociam